Spring Boot: 1.5.10.RELEASE
Spring Cloud: Dalston.SR5
从之前可知路由配置规则:
properties 风格:
1 | zuul.routes.<routh>.path = xxxx |
zuul:
routes:
path: xxxx
serviceId: xxxxx1
2
如:
zuul:
routes:
user-service:
path: /user-service/**
serviceId: user-service`
路径匹配主要是设置 path 参数,采用 Ant 风格定义, Ant 是根据通配符来进行匹配:
通配符 | 说明 |
---|---|
? | 匹配任意单个字符 |
* | 匹配任意数量的字符 |
** | 匹配任何数量的字符,支持多级 |
示例:
URL | 说明 |
---|---|
/user-service/? | 可以匹配 /user-service/ 之后拼接一个任意字符的路径,如 /user-service/a,/user-service/b,/user-service/c |
/user-service/* | 可以匹配 /user-service/ 之后拼接的任意字符的路径,如 /user-service/a,/user-service/aa,/user-service/aaaaaa,但是不支持多级 |
/user-service/** | 可以匹配 /user-service/ 之后拼接的任意字符的路径,且支持多级如 /user-service/a,/user-service/aa,/user-service/aaaaaa,/user-service/aa/bb,/user-service/aa/bb/cc 等等 |
路径匹配的顺序问题
默认路径匹配的顺序是根据配置文件中的配置顺序,而且因为 properties 文件无法保证有序,推荐使用 yml 格式
一个推荐的路径配置顺序是,层级越多的顺序优先